home *** CD-ROM | disk | FTP | other *** search
/ Deutsche Edition 1 / Deutsche Edition 1.iso / amok / amok_lha / amok58.lha / NPrint / txt / StringOps.def < prev    next >
Text File  |  1993-08-15  |  4KB  |  114 lines

  1. (**********************************************************************
  2.  
  3.     :Program.    StringOps.def
  4.     :Contents.   string operations, replaces the standard module "Strings".
  5.     :Author.     Nicolas Benezan [bne]
  6.     :Address.    Postwiesenstr. 2, D7000 Stuttgart 60
  7.     :Phone.      711/333679
  8.     :Copyright.  Public Domain
  9.     :Language.   Modula-2
  10.     :Translator. M2Amiga A+L V3.2d
  11.     :History.    V1.0c [bne] 18.Apr.1989
  12.  
  13. **********************************************************************)
  14.  
  15. DEFINITION MODULE StringOps;
  16.  
  17. (* All procedures will truncate the string if it was too long to
  18.    fit into the array boundaries. *)
  19.  
  20. PROCEDURE Append(VAR String:ARRAY OF CHAR;
  21.                      Tail:ARRAY OF CHAR);
  22. (*:Semantic.    Appends <Tail> to <String>
  23. *)
  24.  
  25. PROCEDURE AppendChar(VAR String:ARRAY OF CHAR;
  26.                          Char:CHAR);
  27. (*:Semantic.    Appends a single character to <String>
  28. *)
  29.  
  30. PROCEDURE Assign(    Source:ARRAY OF CHAR;
  31.                  VAR Destination:ARRAY OF CHAR);
  32. (*:Semantic.    Copies <Source> to <Destination>.
  33. *)
  34.  
  35. PROCEDURE CapChar(VAR Char:CHAR);
  36. (*:Semantic.    Returns the capital letter of <Char>
  37.   :Note.        works also with foreign letters (äöüßáè...)
  38. *)
  39.  
  40. PROCEDURE CapString(VAR String:ARRAY OF CHAR);
  41. (*:Semantic.    CapChar()s each character of <String>
  42. *)
  43.  
  44. PROCEDURE FindChar(String:ARRAY OF CHAR;
  45.                    Char:CHAR;
  46.                    Start:INTEGER):INTEGER;
  47. (*:Semantic.    Searches next occurence of <Char> in <String>
  48.   :Input.       Start: position where to start searching
  49.   :Result.      position of <Char> in <String>
  50.   :Result.      or -1 if <Char> is not found
  51. *)
  52.  
  53. PROCEDURE Compare(String1,String2:ARRAY OF CHAR):INTEGER;
  54. (*:Semantic.    Compares <String1> vs <String2>
  55.   :Result.      0 if they are equal
  56.   :Result.      <0 if String1 < String2
  57.   :Result.      >0 if String1 > String2
  58. *)
  59.  
  60. PROCEDURE Concat(    Head:ARRAY OF CHAR;
  61.                      Tail:ARRAY OF CHAR;
  62.                  VAR String:ARRAY OF CHAR);
  63. (*:Semantic.    concatenates <Head> and <Tail> to <String>
  64. *)
  65.  
  66. PROCEDURE DeleteSubString(VAR String:ARRAY OF CHAR;
  67.                               Start,Len:INTEGER);
  68. (*:Semantic.    Deletes a substring of <String> which starts
  69.   :Semantic.    at position <Start> and is <Len> characters
  70.   :Semantic.    long.
  71. *)
  72.  
  73. PROCEDURE FindSubString(String:ARRAY OF CHAR;
  74.                         SubString:ARRAY OF CHAR;
  75.                         Start:INTEGER):INTEGER;
  76. (*:Semantic.    Searches next occurence of <SubString> in <String>
  77.   :Input.       Start: position where to start searching
  78.   :Result.      next position of <SubString> in <String>
  79.   :Result.      or -1 if not found
  80. *)
  81.  
  82. PROCEDURE InsertSubString(VAR String:ARRAY OF CHAR;
  83.                               SubString:ARRAY OF CHAR;
  84.                               Position:INTEGER);
  85. (*:Semantic.    Inserts <SubString> into <String> at <Position>
  86. *)
  87.  
  88. PROCEDURE InsertChar(VAR String:ARRAY OF CHAR;
  89.                          Char:CHAR;
  90.                          Position:INTEGER);
  91. (*:Semantic.    Inserts a single character into <String> at <Position>
  92. *)
  93.  
  94. PROCEDURE Length(String:ARRAY OF CHAR):INTEGER;
  95. (*:Result.      Length of <String>
  96. *)
  97.  
  98. PROCEDURE OverWrite(VAR String:ARRAY OF CHAR;
  99.                         Overlay:ARRAY OF CHAR;
  100.                         Position:INTEGER);
  101. (*:Semantic.    Replaces (overwrites) the caracters of <String> with
  102.   :Semantic.    <Overlay> starting at <Position>.
  103. *)
  104.  
  105. PROCEDURE SubString(    Source:ARRAY OF CHAR;
  106.                     VAR Destination:ARRAY OF CHAR;
  107.                         Position,Len:INTEGER);
  108. (*:Output.      Destination: the substring of <String> which starts
  109.   :Semantic.    at position <Start> and is <Len> characters long.
  110. *)
  111.  
  112. END StringOps.
  113.  
  114.